package com.glsc.ngateway.common.api.flowable.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.glsc.ngateway.common.api.flowable.dto.task.FlowFormBaseEntityDto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import javax.persistence.Transient;
import java.util.List;

/**
 * @author liwei
 * @date 2023/8/2-14:44
 * 新增的设备规格明细数据
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
public class FlowFormNewDeviceStandardDetailDto extends FlowFormBaseEntityDto {

    private String modifyType;

    private String brand;

    private String model;

    @JsonProperty("uAmount")
    private Integer uAmount;

    private Integer cpuPortAmount;

    private Integer memoryPortAmount;

    private Integer diskPortAmount;

    private Integer pciPortAmount;

    private Integer elePortAmount;

    private String standardName;

    private String deviceStandardCodeFlow;


    @Transient
    private CmdbCpuStandardDto cpuStandard;
    @Transient
    private CmdbMemoryStandardDto memoryStandard;

    //cpu
    @Transient
    private String cpuStandardCode;
    @Transient
    private String cpuStandardName;
    @Transient
    private Integer cpuAmount;
    @Transient
    private Integer cpuDeviceRelateId;


    //内存
    @Transient
    private String memoryStandardCode;
    @Transient
    private String memoryStandardName;
    @Transient
    private Integer memoryAmount;
    @Transient
    private Integer memoryDeviceRelateId;

    //磁盘
    @Transient
    List<FlowFormNewDeviceDiskStandardDetailDto> diskStandardRelate;
    //配件
    @Transient
    List<FlowFormNewDevicePartStandardDetailDto> partStandardRelate;
}
